home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1998 May: Tool Chest / Dev.CD May 98 TC.toast / Tool Chest / Development Kits / HyperCard Related / APDA HyperCard Toolkits / CD Audio Toolkit 1.0 / Source / HyperXCmd.h < prev    next >
Encoding:
C/C++ Source or Header  |  1995-02-07  |  4.8 KB  |  147 lines  |  [TEXT/MPS ]

  1. /*
  2.     HyperXCmd.h  Definitions for calling all standard 
  3.     HyperCard callback routines from C.
  4.     ©Apple Computer, Inc. 1987
  5.     All Rights Reserved.
  6.  
  7.     See CFlash.C for an example of how to include this module in your 
  8.     C program.
  9. */
  10.  
  11.  
  12. typedef struct XCmdBlock {
  13.     short    paramCount;     
  14.     Handle  params[16];
  15.     Handle  returnValue;      
  16.     Boolean    passFlag; 
  17.       
  18.     void    (*entryPoint)();    /* to call back to HyperCard */
  19.     short    request;  
  20.     short    result;  
  21.     long    inArgs[8];
  22.     long    outArgs[4];
  23.    } XCmdBlock, *XCmdBlockPtr;
  24.    
  25.   /*result codes */
  26. #define    xresSucc         0
  27. #define    xresFail         1 
  28. #define    xresNotImp         2 
  29.   
  30.   /* request codes */
  31. #define    xreqSendCardMessage        1 
  32. #define    xreqEvalExpr            2 
  33. #define    xreqStringLength        3 
  34. #define    xreqStringMatch            4 
  35. #define xreqSendHCMessage         5
  36. #define    xreqZeroBytes             6 
  37. #define    xreqPasToZero            7 
  38. #define    xreqZeroToPas            8 
  39. #define    xreqStrToLong            9 
  40. #define    xreqStrToNum            10 
  41. #define    xreqStrToBool            11 
  42. #define    xreqStrToExt            12 
  43. #define    xreqLongToStr            13 
  44. #define    xreqNumToStr            14 
  45. #define    xreqNumToHex            15 
  46. #define    xreqBoolToStr            16 
  47. #define    xreqExtToStr            17 
  48. #define    xreqGetGlobal            18 
  49. #define    xreqSetGlobal            19 
  50. #define    xreqGetFieldByName        20 
  51. #define    xreqGetFieldByNum        21 
  52. #define    xreqGetFieldByID        22 
  53. #define    xreqSetFieldByName        23 
  54. #define    xreqSetFieldByNum        24 
  55. #define    xreqSetFieldByID        25 
  56. #define    xreqStringEqual           26 
  57. #define    xreqReturnToPas           27 
  58. #define    xreqScanToReturn          28 
  59. #define    xreqScanToZero            39   /* was suppose to be 29!  Oops! */
  60.  
  61.  
  62. /* Forward definitions of glue routines.  Main program 
  63.     must include XCmdGlue.inc.c.  See XCmdGlue.inc.c for 
  64.     documentation of each routine.  */
  65. typedef void (*MyProcPtr) ();
  66.  
  67. pascal void SendCardMessage(paramPtr,msg)
  68.     XCmdBlockPtr    paramPtr;    StringPtr    msg;    extern;
  69. pascal Handle EvalExpr(paramPtr,expr)
  70.     XCmdBlockPtr    paramPtr;    StringPtr    expr;    extern;
  71. pascal long StringLength(paramPtr,strPtr)
  72.     XCmdBlockPtr    paramPtr;    StringPtr    strPtr;    extern;
  73. pascal Ptr StringMatch(paramPtr,pattern,target)
  74.     XCmdBlockPtr    paramPtr;    StringPtr    pattern;
  75.     Ptr    target;    extern;
  76. pascal void SendHCMessage(paramPtr,msg)
  77.     XCmdBlockPtr    paramPtr;    StringPtr    msg;    extern;
  78. pascal void ZeroBytes(paramPtr,dstPtr,longCount)
  79.     XCmdBlockPtr    paramPtr;    Ptr    dstPtr;
  80.     long    longCount;    extern;
  81. pascal Handle PasToZero(paramPtr,pasStr)
  82.     XCmdBlockPtr    paramPtr;    StringPtr    pasStr;    extern;
  83. pascal void ZeroToPas(paramPtr,zeroStr,pasStr)
  84.     XCmdBlockPtr    paramPtr;    char    *zeroStr;
  85.     StringPtr    pasStr;    extern;
  86. pascal long StrToLong(paramPtr,strPtr)
  87.     XCmdBlockPtr    paramPtr;    Str31 *    strPtr;    extern;
  88. pascal long StrToNum(paramPtr,str)
  89.     XCmdBlockPtr    paramPtr;    Str31 *     str;    extern;
  90. pascal Boolean StrToBool(paramPtr,str)
  91.     XCmdBlockPtr    paramPtr;    Str31 *     str;    extern;
  92. pascal void StrToExt(paramPtr,str,myext)
  93.     XCmdBlockPtr    paramPtr;    Str31 *     str;
  94.     extended *    myext;    extern;
  95. pascal void LongToStr(paramPtr,posNum,mystr)
  96.     XCmdBlockPtr    paramPtr;    long     posNum;
  97.     Str31 *    mystr;    extern;
  98. pascal void NumToStr(paramPtr,num,mystr)
  99.     XCmdBlockPtr    paramPtr;    long     num;
  100.     Str31 *    mystr;    extern;
  101. pascal void NumToHex(paramPtr,num,nDigits,mystr)
  102.     XCmdBlockPtr    paramPtr;    long     num;
  103.     short    nDigits;            Str31 *    mystr;    extern;
  104. pascal void BoolToStr(paramPtr,bool,mystr)
  105.     XCmdBlockPtr    paramPtr;    Boolean    bool;
  106.     Str31 *    mystr;    extern;
  107. pascal void ExtToStr(paramPtr,myext,mystr)
  108.     XCmdBlockPtr    paramPtr;    extended *    myext;
  109.     Str31 *    mystr;    extern;
  110. pascal Handle GetGlobal(paramPtr,globName)
  111.     XCmdBlockPtr    paramPtr;    StringPtr    globName;    extern;
  112. pascal void SetGlobal(paramPtr,globName,globValue)
  113.     XCmdBlockPtr    paramPtr;    StringPtr    globName;
  114.     Handle    globValue;    extern;
  115. pascal Handle GetFieldByName(paramPtr,cardFieldFlag,fieldName)
  116.     XCmdBlockPtr    paramPtr;    Boolean    cardFieldFlag;
  117.     StringPtr    fieldName;    extern;
  118. pascal Handle GetFieldByNum(paramPtr,cardFieldFlag,fieldNum)
  119.     XCmdBlockPtr    paramPtr;    Boolean    cardFieldFlag;
  120.     short    fieldNum;    extern;
  121. pascal Handle GetFieldByID(paramPtr,cardFieldFlag,fieldID)
  122.     XCmdBlockPtr    paramPtr;    Boolean    cardFieldFlag;
  123.     short    fieldID;    extern;
  124. pascal void SetFieldByName(paramPtr,cardFieldFlag,fieldName,fieldVal)
  125.     XCmdBlockPtr    paramPtr;    Boolean    cardFieldFlag;
  126.     StringPtr    fieldName;    Handle    fieldVal;    extern;
  127. pascal void SetFieldByNum(paramPtr,cardFieldFlag,fieldNum,fieldVal)
  128.     XCmdBlockPtr    paramPtr;    Boolean    cardFieldFlag;
  129.     short    fieldNum;            Handle    fieldVal;    extern;
  130. pascal void SetFieldByID(paramPtr,cardFieldFlag,fieldID,fieldVal)
  131.     XCmdBlockPtr    paramPtr;    Boolean    cardFieldFlag;
  132.     short    fieldID;            Handle    fieldVal;    extern;
  133. pascal Boolean StringEqual(paramPtr,str1,str2)
  134.     XCmdBlockPtr    paramPtr;    Str31 *     str1;
  135.     Str31 *     str2;    extern;
  136. pascal void ReturnToPas(paramPtr,zeroStr,pasStr)
  137.     XCmdBlockPtr    paramPtr;    Ptr    zeroStr;
  138.     StringPtr    pasStr;    extern;
  139. pascal void ScanToReturn(paramPtr,scanHndl)
  140.     XCmdBlockPtr    paramPtr;    Ptr *    scanHndl;    extern;
  141. pascal void ScanToZero(paramPtr,scanHndl)
  142.     XCmdBlockPtr    paramPtr;    Ptr *    scanHndl;    extern;
  143.  
  144.  
  145.  
  146.  
  147.